package com.campus.counseling.service;

import org.deeplearning4j.models.word2vec.Word2Vec;
import org.nd4j.linalg.api.ndarray.INDArray;
import java.util.List;

public interface Word2VecService {
    /**
     * 训练Word2Vec模型
     */
    void trainModel(List<String> texts);
    
    /**
     * 从文件训练Word2Vec模型
     */
    void trainFromFile(String filePath);
    
    /**
     * 获取Word2Vec模型
     */
    Word2Vec getModel();
    
    /**
     * 获取词向量
     */
    double[] getWordVector(String word);
    
    /**
     * 获取句子向量
     */
    INDArray getSentenceVector(String sentence);
    
    /**
     * 保存模型
     */
    void saveModel();
    
    /**
     * 加载模型
     */
    void loadModel();
    
    /**
     * 检查词是否存在
     */
    boolean hasWord(String word);
    
    /**
     * 计算两个词的相似度
     */
    double similarity(String word1, String word2);
} 